const { defineConfig } = require('@vue/cli-service')
const devFlag = process.env.NODE_ENV === 'development'
module.exports = defineConfig({
  transpileDependencies: true,
  chainWebpack: config => {
    config.when(!devFlag, config => {
      config.optimization.minimizer('terser').tap((args) => {
        // 注释console.*
        args[0].terserOptions.compress.drop_console = true
        // // remove debugger
        // args[0].terserOptions.compress.drop_debugger = true
        // // 移除 console.log
        args[0].terserOptions.compress.pure_funcs = ['console.log']
        // // 去掉注释 如果需要看chunk-vendors公共部分插件，可以注释掉就可以看到注释了
        args[0].terserOptions.output = {
          comments: false
        };
        return args
      })
    })
  },
  devServer: {
    host: '0.0.0.0',
    port: 5000, // 端口号的配置
    // open: true, // 自动打开浏览器
    proxy: {
      "/adm": {
        //  拦截以 /api 开头的接口
        target: "http://localhost:8008", //设置你调用的接口域名和端口号 别忘了加http
        changeOrigin: true, //这里true表示实现跨域
        secure: false, // 如果是https接口，需要配置这个参数
        pathRewrite: {
          "^/adm": "/", //这里理解成用‘/api’代替target里面的地址，后面组件中我们掉接口时直接用api代替 比如我要调用'http://40.00.100.100:3002/api/user/add'，直接写‘/api/user/add’即可
        },
        ws: true, // 是否支持 webstocket, 默认是 true
        changeOrigin: true // 用于控制请求头中的 host 值, 默认是 ture
      },
      // 需要配置多个
      // '/api2': {
      //   target: 'http://localhost:6000', // 配置访问的服务器地址
      //   pathRewrite: { '^/api2': '' },
      // }
    },
  },
})
